From glynn.clements@virgin.net  Wed Dec 12 19:13:35 2001
Return-Path: <glynn.clements@virgin.net>
Received: from camelot.itc.it (camelot [195.223.171.5])
	by artemide.itc.it (8.11.3/8.11.3) with ESMTP id fBCIDX728309
	for <neteler@itc.it>; Wed, 12 Dec 2001 19:13:33 +0100 (MET)
Received: from mta2-svc.virgin.net (mta2-svc.virgin.net [62.253.164.42])
	by camelot.itc.it (8.11.3/8.11.3) with ESMTP id fBCIDWd06840
	for <neteler@itc.it>; Wed, 12 Dec 2001 19:13:32 +0100 (MET)
Received: from cerise.nosuchdomain.co.uk ([62.252.69.31])
          by mta2-svc.virgin.net (InterMail vM.4.01.02.27 201-229-119-110)
          with ESMTP
          id <20011212181330.PKYR10663.mta2-svc.virgin.net@cerise.nosuchdomain.co.uk>
          for <neteler@itc.it>; Wed, 12 Dec 2001 18:13:30 +0000
Received: (from glynn@localhost)
	by cerise.nosuchdomain.co.uk (8.11.6/8.11.6) id fBCIAC301072;
	Wed, 12 Dec 2001 18:10:12 GMT
From: Glynn Clements <glynn.clements@virgin.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <15383.40324.300167.67864@cerise.nosuchdomain.co.uk>
Date: Wed, 12 Dec 2001 18:10:12 +0000
To: Markus Neteler <neteler@itc.it>
Subject: Re: affine transform
In-Reply-To: <20011212165039.B4313@itc.it>
References: <20011212165039.B4313@itc.it>
X-Mailer: VM 6.94 under 21.4 (patch 4) "Artificial Intelligence (candidate #1)" XEmacs Lucid
Status: RO
Content-Length: 986
Lines: 26


Markus Neteler wrote:

> by chance I have found another implementation for affine
> transform (or whatever there is implemented):
> src/libes/vect32/libes/transform/
> It is used in v.digit and maybe other programs.
> 
> Is this a candidate for the GMATH library?
> I think yes.

The code there seems fairly specialised.

The transformations are affine, but the means of generating the
coefficients seems rather odd; in particular, the requirement that at
least four reference points are provided. Three points will define an
affine transformation; any more are either redundant or contradictory.

If it were to go into the gmath library, it might be better for
compute_transformation_coef() to return the resulting transformation
in a gmath "mat_struct". transform_a_into_b() and transform_b_into_a()
are largely redundant; they're either just a matrix multiplication (if
using homogeneous coordinates) or multiply-and-add (otherwise).

-- 
Glynn Clements <glynn.clements@virgin.net>

